1. Field of Invention
The present invention relates generally to shape grammars and, more particularly, to shape grammar systems and methods having parametric shape recognition.
2. Description of the Background
A shape grammar provides a formal method for the construction of shapes. Knowledge is encoded within a grammar in the shapes that define its rules. Synthesizing designs in the language defined by the grammar is a matter of applying rules beginning with an initial shape and finishing with a terminating rule.
Shape grammars originated in the architectural field from work done by Stiny and Gips (1972, Shape Grammars and the Generative Specification of Painting and Sculpture. Information Processing 71, IFIP, North-Holland, Amsterdam) where they were used to capture the style of Queen Anne houses (Flemming, U. 1987. The Role of Shape Grammars in the Analysis and Creation of Designs. Kalay Y. E. (ed.), Computability of Designs (New York: John Wiley), pp. 245-272.) and articulate the rules of Frank Lloyd Wright's prairie house (Koning, H. and Eizenberg, J. 1981. The Language of the Prairie: Frank Lloyd Wright's Prairie Houses. Environment and Planning B: Planning and Design, 8:295-323), among other applications. Shape grammars can be classified as a production system (Stiny and Gips, Production Systems and Grammars in a Uniform Characterization, Environment and Planning B, 7:399-408 (1980)) containing all of the necessary parts, objects, system definition, and an interpretive mechanism. A shape grammar is a set of rules, based on shape, that is used to generate designs through rule applications. Rules take the form of a→b, where a and b both denote shapes. A rule is applicable if the left-hand shape, a, can be found in the design shape, denoted c. If the rule is applied, the left hand shape is subtracted from the design and the right-hand shape is added to the design, denoted c−τ(a)+τ(b), where shapes a and b undergo a transformation τ according to the transformation required to make shape a a subshape of shape c.
Shape grammars, having their roots in architecture literature, have recently found application in engineering, such as in the design of coffeemakers, lathe process plans, roof trusses, and microelectromechanical systems (MEMS) resonators. Shape grammars may be conceptualized of as a type of expert system based on geometry. Shape grammars, however, have succeeded in engineering applications where traditional expert systems have failed because of: (i) their direct handing of reasoning about geometry; (ii) their ability to operate on a parametric geometric representation; and (iii) their ability to support emergence of shape. These advantages presage a future in which shape grammars play an increasingly larger role in engineering design in comparison with the traditional expert systems.
Representation of products with a shape grammar is limited by the technology available to implement the grammar. A shape grammar interpreter must provide the means to add, subtract, and perform subshape matching in order to implement a grammar. A system that can perform addition, subtraction, and recognition operations on shapes as well as interface with a human user or automated function is called an interpreter. Interpreters can implement any shape grammar whose shapes are limited to the restrictions implied by the shape operations. Shape grammar interpreters provide a quick method to move a shape grammar from paper to an implemented design synthesis tool. Krishnamurti, The Arithmetic of Shapes, Environment and Planning B. Planning and Design 7:463-484 (1980) described a method for non-parametric subshape recognition of lines in two and three dimensions as well as shape addition and subtraction.
In the past, however, shape grammars have been limited by the difficulty and time intensity in their implementations. Implementations have not allowed for general parametric shape recognition. Engineering shape grammars in particular have been restricted to limited, non-parametric shape recognition and often are hard-coded. These drawbacks minimize much of the beneficial potential of shape grammars.
Accordingly, there exists a need for a shape grammar system that uses shape recognition to provide, for example, an automated approach to product generation. There further exists a need for a shape grammar system in which engineering knowledge (geometry-based and otherwise) may be incorporated into implementation design rules in order to drive design exploration and the generation of designs toward a desired end.